package algorithm.easy;

import java.util.HashMap;
import java.util.Map;

public class Solution168 {
    // 例如：
    //A -> 1
    //B -> 2
    //C -> 3
    //...
    //Z -> 26
    //AA -> 27
    //AB -> 28
    // 示例 1：
    //输入：columnNumber = 1
    //输出："A"
    // 示例 2：
    //输入：columnNumber = 28
    //输出："AB"
    // 示例 3：
    //输入：columnNumber = 701
    //输出："ZY"
    //字符0-9的ASCII码：48-57；
    //大写字母A-Z的ASCII码为：65-90；
    //小写字母a-z的ASCII码为：97-122；
    public static String convertToTitle(int columnNumber) {
        int temp = columnNumber;
        Map<Integer,Character> map = new HashMap<>();
        for(int i=1;i<=26;i++){
            map.put(i,(char)(i+64));
        }
        StringBuilder sb = new StringBuilder();
        while( temp>0){
            sb.insert(0,map.get(temp%26));//map.get(temp%26
            temp = temp/26;
        }
        //System.out.println(sb.toString());

        return sb.toString();
    }

    public static void main(String[] args){
        Integer columnNumber = 1;//输入：columnNumber = 2147483647
        System.out.println(convertToTitle(columnNumber));
        //输出："FXSHRXW"
    }
}
